#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int Qdatatype;
typedef struct Queuenode
{
	Qdatatype data;
	struct Queuenode* next;
}qn;

typedef struct Queue
{
	struct Queuenode* phead;
	struct Queuenode* ptail;
}qp;

void Queueinit(qp* s);

void QueueDestroy(qp* s);

void Queuepush(qp* s, Qdatatype x);

void QueuePop(qp*s);

bool QueueEmpty(qp* s);

int QueueSize(qp* s);

Qdatatype QueueFront(qp* s);

Qdatatype QueueBack(qp*s);
